Fixes for new version of Garmin Fit files.
authorrobertlipe@gmail.com <robertlipe@gmail.com@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Wed, 2 May 2012 14:27:54 +0000 (14:27 +0000)
committerrobertlipe@gmail.com <robertlipe@gmail.com@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Wed, 2 May 2012 14:27:54 +0000 (14:27 +0000)
git-svn-id: http://gpsbabel.googlecode.com/svn/trunk@4173 f51c46e8-681c-474f-0cfe-069cfd0219fb

gpsbabel/garmin_fit.c
gpsbabel/reference/track/garmin-edge-200-output.fit [new file with mode: 0644]
gpsbabel/reference/track/garmin-edge-200-output.gpx [new file with mode: 0644]
gpsbabel/testo.d/garmin_fit.test

index 146972fd2bb573fd099c5f6398f55c09bdc50a87..6e11975e0960a6b0f97e78820737f07257ecbd27 100644 (file)
@@ -96,6 +96,12 @@ fit_parse_header(void)
   if (sig[0] != '.' || sig[1] != 'F' || sig[2] != 'I' || sig[3] != 'T') {
     fatal(MYNAME ": .FIT signature missing\n");
   }
+
+  // Read in rest of header (if any)
+  len -= 12;
+  while( len-- ) {
+    gbfgetc(fin); // throw away unknown header data
+  }
 }
 
 static gbuint8
diff --git a/gpsbabel/reference/track/garmin-edge-200-output.fit b/gpsbabel/reference/track/garmin-edge-200-output.fit
new file mode 100644 (file)
index 0000000..a0fc6ea
Binary files /dev/null and b/gpsbabel/reference/track/garmin-edge-200-output.fit differ
diff --git a/gpsbabel/reference/track/garmin-edge-200-output.gpx b/gpsbabel/reference/track/garmin-edge-200-output.gpx
new file mode 100644 (file)
index 0000000..8637603
--- /dev/null
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<gpx\r
+  version="1.0"\r
+  creator="GPSBabel - http://www.gpsbabel.org"\r
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+  xmlns="http://www.topografix.com/GPX/1/0"\r
+  xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">\r
+<time>1970-01-01T00:00:00Z</time>\r
+<bounds minlat="50.874916077" minlon="4.361335754" maxlat="50.881267548" maxlon="4.373297691"/>\r
+<trk>\r
+<trkseg>\r
+<trkpt lat="50.874992371" lon="4.361335754">\r
+  <ele>18.800000</ele>\r
+  <time>2012-05-02T06:31:48Z</time>\r
+  <speed>2.806000</speed>\r
+</trkpt>\r
+<trkpt lat="50.874927521" lon="4.361547470">\r
+  <ele>18.400000</ele>\r
+  <time>2012-05-02T06:31:55Z</time>\r
+  <speed>1.919000</speed>\r
+</trkpt>\r
+<trkpt lat="50.874916077" lon="4.361658096">\r
+  <ele>18.600000</ele>\r
+  <time>2012-05-02T06:32:03Z</time>\r
+  <speed>0.934000</speed>\r
+</trkpt>\r
+<trkpt lat="50.875255585" lon="4.362043858">\r
+  <ele>17.600000</ele>\r
+  <time>2012-05-02T06:32:15Z</time>\r
+  <speed>5.137000</speed>\r
+</trkpt>\r
+<trkpt lat="50.875720978" lon="4.362524986">\r
+  <ele>17.000000</ele>\r
+  <time>2012-05-02T06:32:25Z</time>\r
+  <speed>6.165000</speed>\r
+</trkpt>\r
+<trkpt lat="50.876182556" lon="4.363010883">\r
+  <ele>16.600000</ele>\r
+  <time>2012-05-02T06:32:35Z</time>\r
+  <speed>6.081000</speed>\r
+</trkpt>\r
+<trkpt lat="50.876644135" lon="4.363592148">\r
+  <ele>15.800000</ele>\r
+  <time>2012-05-02T06:32:46Z</time>\r
+  <speed>5.946000</speed>\r
+</trkpt>\r
+<trkpt lat="50.877075195" lon="4.364209652">\r
+  <ele>15.400000</ele>\r
+  <time>2012-05-02T06:32:57Z</time>\r
+  <speed>5.777000</speed>\r
+</trkpt>\r
+<trkpt lat="50.877471924" lon="4.364851475">\r
+  <ele>15.200000</ele>\r
+  <time>2012-05-02T06:33:07Z</time>\r
+  <speed>6.576000</speed>\r
+</trkpt>\r
+<trkpt lat="50.877845764" lon="4.365548134">\r
+  <ele>15.000000</ele>\r
+  <time>2012-05-02T06:33:17Z</time>\r
+  <speed>6.313000</speed>\r
+</trkpt>\r
+<trkpt lat="50.878185272" lon="4.366267204">\r
+  <ele>15.200000</ele>\r
+  <time>2012-05-02T06:33:27Z</time>\r
+  <speed>6.091000</speed>\r
+</trkpt>\r
+<trkpt lat="50.878505707" lon="4.367033005">\r
+  <ele>15.200000</ele>\r
+  <time>2012-05-02T06:33:37Z</time>\r
+  <speed>6.529000</speed>\r
+</trkpt>\r
+<trkpt lat="50.878822327" lon="4.367795467">\r
+  <ele>15.600000</ele>\r
+  <time>2012-05-02T06:33:47Z</time>\r
+  <speed>6.456000</speed>\r
+</trkpt>\r
+<trkpt lat="50.879154205" lon="4.368566990">\r
+  <ele>15.600000</ele>\r
+  <time>2012-05-02T06:33:57Z</time>\r
+  <speed>6.586000</speed>\r
+</trkpt>\r
+<trkpt lat="50.879478455" lon="4.369322300">\r
+  <ele>15.400000</ele>\r
+  <time>2012-05-02T06:34:07Z</time>\r
+  <speed>6.437000</speed>\r
+</trkpt>\r
+<trkpt lat="50.879795074" lon="4.370081425">\r
+  <ele>15.400000</ele>\r
+  <time>2012-05-02T06:34:17Z</time>\r
+  <speed>6.516000</speed>\r
+</trkpt>\r
+<trkpt lat="50.880119324" lon="4.370834351">\r
+  <ele>16.200000</ele>\r
+  <time>2012-05-02T06:34:27Z</time>\r
+  <speed>5.970000</speed>\r
+</trkpt>\r
+<trkpt lat="50.880420685" lon="4.371550560">\r
+  <ele>17.400000</ele>\r
+  <time>2012-05-02T06:34:38Z</time>\r
+  <speed>5.193000</speed>\r
+</trkpt>\r
+<trkpt lat="50.880470276" lon="4.371663570">\r
+  <ele>17.800000</ele>\r
+  <time>2012-05-02T06:34:40Z</time>\r
+  <speed>4.752000</speed>\r
+</trkpt>\r
+<trkpt lat="50.880798340" lon="4.372401714">\r
+  <ele>19.600000</ele>\r
+  <time>2012-05-02T06:34:53Z</time>\r
+  <speed>4.809000</speed>\r
+</trkpt>\r
+<trkpt lat="50.881038666" lon="4.372861862">\r
+  <ele>20.800000</ele>\r
+  <time>2012-05-02T06:35:02Z</time>\r
+  <speed>4.576000</speed>\r
+</trkpt>\r
+<trkpt lat="50.881267548" lon="4.373297691">\r
+  <ele>21.400000</ele>\r
+  <time>2012-05-02T06:35:11Z</time>\r
+  <speed>4.137000</speed>\r
+</trkpt>\r
+</trkseg>\r
+</trk>\r
+</gpx>\r
index 65a4c40adfcca0064e939a52b586a0c400f87011..569855385deff81f4b4ae15da8a7706826c3c84a 100644 (file)
@@ -4,3 +4,6 @@
 rm -f ${TMPDIR}/fit-*
 gpsbabel -i garmin_fit -f ${REFERENCE}/track/fit-sample.fit -o gpx -F ${TMPDIR}/fit-sameple.gpx
 compare ${TMPDIR}/fit-sameple.gpx ${REFERENCE}/track/fit-sample.gpx
+
+gpsbabel -i garmin_fit -f ${REFERENCE}/track/garmin-edge-200-output.fit -o gpx -F ${TMPDIR}/fit-sample.gpx
+compare ${TMPDIR}/fit-sample.gpx ${REFERENCE}/track/garmin-edge-200-output.gpx